﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using MvcEngine.Core.Validation;
using System.Web.Mvc;

namespace MvcEngine.Core.Helpers
{
    public interface IValidationHelper
    {
        IEnumerable<BrokenRule> GetErrors<TInterface>(object instance, string[] excludeProperties);
        IEnumerable<BrokenRule> GetErrors<TInterface>(object instance);
        void Validate<TInterface>(object instance);
        void Validate<TInterface>(object instance, string propertyToValidate);
        void UpdateModelState(ValidationException exception, ModelStateDictionary modelState);
        void UpdateModelState(IEnumerable<BrokenRule> brokenRules, ModelStateDictionary modelState);
        bool ValidateEmail(string email);
    }
}
